package net.src.socket3;

import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;

/**
 * 完成socket网络编程,实现多发多收,但是一个线程只能完成一对连接,要想同时服务多个客户端通信,通过多线程实现
 */
public class ClientDemo3 {
    public static void main(String[] args) throws Exception {
        //创建socket通信管道请求有服务器的链接
        //参数一:服务器ip,参数二:服务器端口
        System.out.println("客户端启动!");
        Socket socket = new Socket("127.0.0.1",7777);

        //从socket通信管道中获取字节输出流,发送数据
        OutputStream os = socket.getOutputStream();
        //把它包装成高级的打印流
        PrintStream ps = new PrintStream(os);

        Scanner sc = new Scanner(System.in);
        while(true){
            //发送消息
            System.out.print("请说:");
            ps.println(sc.nextLine());
            ps.flush();//发完要刷新,不然在缓冲区
        }


        //tcp通信不要轻易的关闭管道,等关机或者用户主动关闭
    }
}
